<?php

//blz
function __autoload($classe) {
    include_once '../model/' . $classe . '.php';
}

//caso o formulário seja acionado (inserir ou atualizar)
if (isset($_POST['op'])) {
    session_start();
    if ($_POST['op'] == 'I') {
        //Instancia a classe passada por post
        $obj = new $_SESSION['classe'];

        //popula o objeto com os valores do formulario

        $obj->populaCampos($_POST);

        $obj->incluir();

        header('Location:' . $_SERVER['HTTP_REFERER']);
    } else if ($_POST['op'] == 'A') {
        //Segundo passo para a atualização
        //Instancia a classe passada por post
        $obj = new $_SESSION['classe'];

        $obj->populaCampos($_POST);

        $obj->atualizar();

        unset($_SESSION['obj']);
        
        header('Location:' . $_SERVER['HTTP_REFERER']);
    }
} else if (isset($_GET['op'])) {
    session_start();
    //Caso seja exclusão
    if ($_GET['op'] == 'E') {

        $obj = new $_SESSION['classe'];

        $obj->buscar($_GET['id']);

        $obj->excluir();

        header('Location:' . $_SERVER['HTTP_REFERER']);
    } else if ($_GET['op'] == 'A') {
        //Primeira etapa do Updade
        $obj = new $_SESSION['classe'];

        $obj->buscar($_GET['id']);

        $_SESSION['obj'] = serialize($obj);

        header('Location:' . $_SERVER['HTTP_REFERER']);
    }
}

class Controller {

    private $classe;

    function __construct($classe) {
        $this->classe = $classe;
    }

    static function listar($classe) {
        $obj = new $classe;
        return $obj->listar();
    }

}

?>
